HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux WebLive 5.15.0-79-generic #86-Ubuntu SMP Mon Jul 10 16:07:21 UTC 2023 x86_64
User: ubuntu (1000)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
File: /var/www/html/wpicare/wp-content/plugins/wp-rocket/inc/Engine/Optimization/RUCSS/Admin/Database.php
<?php
declare(strict_types=1);

namespace WP_Rocket\Engine\Optimization\RUCSS\Admin;

use WP_Rocket\Engine\Optimization\RUCSS\Database\Tables\UsedCSS;

class Database {
	/**
	 * Instance of RUCSS used_css table.
	 *
	 * @var UsedCSS
	 */
	private $rucss_usedcss_table;

	/**
	 * Creates an instance of the class.
	 *
	 * @param UsedCSS $rucss_usedcss_table   RUCSS UsedCSS Database Table.
	 */
	public function __construct( UsedCSS $rucss_usedcss_table ) {
		$this->rucss_usedcss_table = $rucss_usedcss_table;
	}

	/**
	 * Drop RUCSS Database Tables.
	 *
	 * @return void
	 */
	public function drop_rucss_database_tables() {
		// If the table exist, then drop the table.
		if ( $this->rucss_usedcss_table->exists() ) {
			$this->rucss_usedcss_table->uninstall();
		}
	}

	/**
	 * Truncate RUCSS used_css DB table.
	 *
	 * @return bool
	 */
	public function truncate_used_css_table(): bool {
		if ( ! $this->rucss_usedcss_table->exists() ) {
			return false;
		}
		return $this->rucss_usedcss_table->truncate();
	}

	/**
	 * Delete old used css based on last accessed date.
	 *
	 * @return void
	 */
	public function delete_old_used_css() {
		if ( ! $this->rucss_usedcss_table->exists() ) {
			return;
		}

		$this->rucss_usedcss_table->delete_old_rows();
	}

	/**
	 * Get old used css based on last accessed date.
	 *
	 * @return array
	 */
	public function get_old_used_css(): array {
		if ( ! $this->rucss_usedcss_table->exists() ) {
			return [];
		}
		return $this->rucss_usedcss_table->get_old_rows();
	}

	/**
	 * Remove all completed rows.
	 *
	 * @return bool|int
	 */
	public function remove_all_completed_rows() {
		if ( ! $this->rucss_usedcss_table->exists() ) {
			return false;
		}

		return $this->rucss_usedcss_table->remove_all_completed_rows();
	}

	/**
	 * Remove the resources table & version stored in options table
	 *
	 * @since 3.12
	 *
	 * @return bool
	 */
	public function drop_resources_table(): bool {
		global $wpdb;

		$result = $wpdb->query( "DROP TABLE IF EXISTS {$wpdb->prefix}wpr_rucss_resources" ); // phpcs:ignore WordPress.DB.DirectDatabaseQuery.DirectQuery, WordPress.DB.DirectDatabaseQuery.NoCaching, WordPress.DB.DirectDatabaseQuery.SchemaChange

		if ( false === $result ) {
			return false;
		}

		return delete_option( 'wpr_rucss_resources_version' );
	}
}